package Modelo;

import java.io.*;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
import javax.swing.JOptionPane;
import Modelo.Ninno;
import Modelo.Persona;
import Modelo.Vacuna;
import Modelo.CartaVacunacion;
import java.util.List;
public class ArchivoCartaVacunacion {
	public File f;
	FileReader leeTxt;
	FileWriter escribeTxt;
	
	public void agregarTxtCartaVacunacion (CartaVacunacion cv) {
	//ojo, usamos este metodo cuando estamos seguros de que no
	//hay un archivo previamente creado y estamos iniciando con un solo registro, no con una lista
		try{
			//String linea = "ArchivoNinno.txt";no es necesario ponerle una variable con el nombre, por lo menos para este proyecto
			f = new File("ArchivoCartaVacunacion.txt");  //creo que lo que hay que hacer es escribir linea por linea cada campo del objeto que estoy recibiendo
			escribeTxt = new FileWriter(f); //f contiene el nombre del archivo
			BufferedWriter bw = new BufferedWriter(escribeTxt);
			PrintWriter salida= new PrintWriter (bw);
			salida.write(cv.getFechaProxAplic()+"\n");
			salida.write(cv.getFechaVacuna()+"\n");
			salida.write(cv.getLoteVac()+"\n");
			salida.write(cv.getVacuna()+"\n");
			salida.write(cv.getNinno()+"\n");
			
			salida.close();
		}catch(IOException e){JOptionPane.showInputDialog(this, "Error:"+e.getMessage());}
}
	
	public List<CartaVacunacion> leerTxtCartaVacunacion(){
		try {
			Scanner leerTxtCV = new Scanner(new File("CartaVacunacion.Txt"));
			List<CartaVacunacion> LCV = new ArrayList<CartaVacunacion>();
			while (leerTxtCV.hasNext())
			{
				int d = leerTxtCV.nextInt();
				int m = leerTxtCV.nextInt();
				int a = leerTxtCV.nextInt();
				Calendar c = Calendar.getInstance();
				c.set(Calendar.YEAR, a);
				c.set(Calendar.MONTH, m);
				c.set(Calendar.DAY_OF_MONTH, d);
				Date fpa = c.getTime();
				Date fv = c.getTime();
				String lote = leerTxtCV.next();
				String vac = leerTxtCV.next();
				String nin = leerTxtCV.next();
							
				Vacuna vacu = new Vacuna (vac,"","",1,1,1,"");
				Date hoy = null;
				Ninno ninno = new Ninno (nin,"","","","",hoy,0,0);
				
				CartaVacunacion cv = new CartaVacunacion(fpa, fv, lote, vacu, ninno);
				LCV.add(cv);
			}
			return LCV;
		}catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				return null;
			}
	}	
}